package com.sprint.questai.pdfTextExtraction;

import java.io.File;

public interface PDFTextExtraction {
    /**
     * 从 PDF 文件中提取可选择文本。
     * @param file 目标 PDF 文件
     * @return 提取的可选择文本
     */
    String extractSelectableText(File file);

    /**
     * 从 PDF 文件中提取图像中的文本。
     * @param file 目标 PDF 文件
     * @return 提取的图像文本
     */
    String extractImageText(File file);

    /**
     * 结合可选择文本和图像文本，提取完整的文本信息。
     * @param file 目标 PDF 文件
     * @return 提取的完整文本信息
     */
    String extractFullText(File file);

    /**
     * 多线程从 PDF 文件中提取图像中的文本。
     * @param file 目标 PDF 文件
     * @return 提取的图像文本
     */
    String extractImageTextM(File file);

    /**
     * 从 PDF 文件中提取图像中的文本，并去除所有空白字符。
     * @param file 目标 PDF 文件
     * @return 提取并去除空白字符的图像文本
     */
    String extractImageTextWithoutWhitespace(File file);
}
